package com.qianyu.core.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qianyu.core.entity.base.BaseIdDto;
import com.qianyu.core.entity.bean.User;
import com.qianyu.core.entity.dto.UserDTO;

import java.util.List;

public interface UserService extends IService<User> {

    /**
     * 根据用户名和密码登录
     */
    User loginFront(UserDTO.UserLoginDTO dto);


    /**
     * 根据用户名和密码登录
     */
    User loginBack(UserDTO.UserLoginDTO dto);

    /**
     * 注册普通用户
     * @param dto
     * @return
     */
    Boolean registerUser(UserDTO.UserRegisterDTO dto);

    /**
     * 添加代理
     */
    boolean registerUser(UserDTO.UserSaveDTO dto);
    /**
     * 修改用户信息
     */
    boolean changeUserInfo(UserDTO.UserUpdateDto dto);


    /**
     * 修改用户信息
     */
    boolean changeUserInfoByFront(UserDTO.UserUpdateDto dto);

    /**
     * 根据用户id查询用户信息
     */
    User getInfo(BaseIdDto idDTO);
    /**
     * 查询用户列表
     */
    Page<User> pageListUser(UserDTO.UserPageDTO dto);

    /**
     * 修改用户密码
     */
    boolean changePassword(UserDTO.PasswordDto dto);

    /**
     * 服务商查询下级（普通用户）
     */
    List<UserDTO.UserSimpleDTO> getUsers();

}
